package com.bjpowernode.entity.query;

import com.alibaba.excel.annotation.ExcelProperty;
import com.bjpowernode.core.converter.*;
import com.bjpowernode.util.LoginInfoUtil;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
public class ClueExcel {
/**
 * 包含的参数有，一会我要依次写在下边
 *负责人 所属活动	姓名	称呼	手机号	微信号	QQ号	邮箱	年龄	职业	年收入	地址	是否贷款	意向状态	意向产品	线索状态	线索来源	线索描述	下次联系时间
 */

    /**
     * 负责人id
     */
    @ExcelProperty("负责人")
    private Integer ownerId;

    /**
     * 所属活动
     */
    @ExcelProperty("所属活动")
    private Integer activityId;

    /**
     * 姓名
     */
    @ExcelProperty("姓名")
    private String fullName;

    /**
     * 称呼
     */
    @ExcelProperty(value = "称呼", converter = AppellationConverter.class)
    private Integer appellation;

    /**
     * 手机号
     */
    @ExcelProperty("手机号")
    private String phone;

    /**
     * 微信号
     */
    @ExcelProperty("微信号")
    private String weixin;

    /**
     * QQ号
     */
    @ExcelProperty("QQ号")
    private String qq;

    /**
     * 邮箱
     */
    @ExcelProperty("邮箱")
    private String email;

    /**
     * 年龄
     */
    @ExcelProperty("年龄")
    private Integer age;

    /**
     * 职业
     */
    @ExcelProperty("职业")
    private String job;

    /**
     * 年收入
     */
    @ExcelProperty("年收入")
    private BigDecimal yearIncome;

    /**
     * 地址
     */
    @ExcelProperty("地址")
    private String address;

    /**
     * 是否贷款
     */
    @ExcelProperty(value = "是否贷款", converter = NeedLoanConverter.class)
    private Integer needLoan;

    /**
     * 意向状态
     */
    @ExcelProperty(value = "意向状态", converter = IntentionStateConverter.class)
    private Integer intentionState;

    /**
     * 意向产品
     */
    @ExcelProperty(value = "意向产品", converter = IntentionProductConverter.class)
    private Integer intentionProduct;

    /**
     * 线索状态
     */
    @ExcelProperty(value = "线索状态", converter = StateConverter.class)
    private Integer state;

    /**
     * 线索来源
     */
    @ExcelProperty(value = "线索来源", converter = SourceConverter.class)
    private Integer source;

    /**
     * 线索描述
     */
    @ExcelProperty(value = "线索描述")
    private String description;

    /**
     * 下次联系时间
     */
    @ExcelProperty(value = "下次联系时间")
    private Date nextContactTime;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 创建人
     */
    private Integer createBy;

    public Date getCreateTime() {
        return new Date();
    }

    public Integer getCreateBy() {
        return LoginInfoUtil.getCurrentLoginUser().getId();

    }
}
